package week2;

import base.Node;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * 590. N 叉树的后序遍历
 * https://leetcode-cn.com/problems/n-ary-tree-postorder-traversal/
 *
 *
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：0 ms, 在所有 Java 提交中击败了100.00% 的用户
 * 内存消耗：39.4 MB, 在所有 Java 提交中击败了26.07% 的用户
 *
 */
public class Week2NAryTreePostorderTraversal {

    public List<Integer> postorder(Node root) {
        List<Integer> postorderList = new ArrayList<Integer>();
        postorder(root, postorderList);
        return postorderList;
    }

    public void postorder(Node node, List<Integer> list) {
        if(node == null) {
            return;
        }
        if(node.children != null) {
            for(Node currentNode : node.children) {
                postorder(currentNode, list);
            }
        }

        list.add(node.val);
    }
}
